<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>NVTX C API Reference: nvtxMemHeapDesc_v1 Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr id="projectrow">
  <td id="projectalign">
   <div id="projectname">NVTX C API Reference<span id="projectnumber">&#160;v3</span>
   </div>
   <div id="projectbrief">NVIDIA Tools Extension Library</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>

</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-attribs">Data Fields</a>  </div>
  <div class="headertitle"><div class="title">nvtxMemHeapDesc_v1 Struct Reference<div class="ingroups"><a class="el" href="group___m_e_m_o_r_y.html">Memory</a></div></div></div>
</div><!--header-->
<div class="contents">

<p>structure to describe a heap in process virtual memory.  
 <a href="structnvtx_mem_heap_desc__v1.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="nv_tools_ext_mem_8h_source.html">nvToolsExtMem.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
Data Fields</h2></td></tr>
<tr class="memitem:ab6067b2540a825ea56d28c99e18bfacd" id="r_ab6067b2540a825ea56d28c99e18bfacd"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structnvtx_mem_heap_desc__v1.html#ab6067b2540a825ea56d28c99e18bfacd">extCompatID</a></td></tr>
<tr class="separator:ab6067b2540a825ea56d28c99e18bfacd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a717aaed2342fd530b6f2aa451daea59c" id="r_a717aaed2342fd530b6f2aa451daea59c"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structnvtx_mem_heap_desc__v1.html#a717aaed2342fd530b6f2aa451daea59c">structSize</a></td></tr>
<tr class="separator:a717aaed2342fd530b6f2aa451daea59c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1dbbb99cb449d709926b7a6a388c99f4" id="r_a1dbbb99cb449d709926b7a6a388c99f4"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structnvtx_mem_heap_desc__v1.html#a1dbbb99cb449d709926b7a6a388c99f4">reserved0</a></td></tr>
<tr class="separator:a1dbbb99cb449d709926b7a6a388c99f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ace1b78eba0d1733c52f3783fd72b9474" id="r_ace1b78eba0d1733c52f3783fd72b9474"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structnvtx_mem_heap_desc__v1.html#ace1b78eba0d1733c52f3783fd72b9474">usage</a></td></tr>
<tr class="memdesc:ace1b78eba0d1733c52f3783fd72b9474"><td class="mdescLeft">&#160;</td><td class="mdescRight">Usage characteristics of the heap.  <br /></td></tr>
<tr class="separator:ace1b78eba0d1733c52f3783fd72b9474"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a000cf395f18b65e398b80cee8987b74c" id="r_a000cf395f18b65e398b80cee8987b74c"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structnvtx_mem_heap_desc__v1.html#a000cf395f18b65e398b80cee8987b74c">type</a></td></tr>
<tr class="memdesc:a000cf395f18b65e398b80cee8987b74c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Memory type characteristics of the heap.  <br /></td></tr>
<tr class="separator:a000cf395f18b65e398b80cee8987b74c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aff660e4ce3a6c55069d6644f9754ac2e" id="r_aff660e4ce3a6c55069d6644f9754ac2e"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structnvtx_mem_heap_desc__v1.html#aff660e4ce3a6c55069d6644f9754ac2e">typeSpecificDescSize</a></td></tr>
<tr class="memdesc:aff660e4ce3a6c55069d6644f9754ac2e"><td class="mdescLeft">&#160;</td><td class="mdescRight">size of the heap memory descriptor pointed to by typeSpecificDesc  <br /></td></tr>
<tr class="separator:aff660e4ce3a6c55069d6644f9754ac2e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac020e353d7840e5c7fe0c53965beb3ad" id="r_ac020e353d7840e5c7fe0c53965beb3ad"><td class="memItemLeft" align="right" valign="top">void const  *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structnvtx_mem_heap_desc__v1.html#ac020e353d7840e5c7fe0c53965beb3ad">typeSpecificDesc</a></td></tr>
<tr class="memdesc:ac020e353d7840e5c7fe0c53965beb3ad"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pointer to the heap memory descriptor.  <br /></td></tr>
<tr class="separator:ac020e353d7840e5c7fe0c53965beb3ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0fe52467a6fef48105632433cac12fa9" id="r_a0fe52467a6fef48105632433cac12fa9"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structnvtx_mem_heap_desc__v1.html#a0fe52467a6fef48105632433cac12fa9">category</a></td></tr>
<tr class="memdesc:a0fe52467a6fef48105632433cac12fa9"><td class="mdescLeft">&#160;</td><td class="mdescRight">ID of the category the event is assigned to.  <br /></td></tr>
<tr class="separator:a0fe52467a6fef48105632433cac12fa9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab6fc2c152e78099ddbf86746502b7f5c" id="r_ab6fc2c152e78099ddbf86746502b7f5c"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structnvtx_mem_heap_desc__v1.html#ab6fc2c152e78099ddbf86746502b7f5c">messageType</a></td></tr>
<tr class="memdesc:ab6fc2c152e78099ddbf86746502b7f5c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Message type specified in this attribute structure.  <br /></td></tr>
<tr class="separator:ab6fc2c152e78099ddbf86746502b7f5c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad12fa13f5c26f2373e37c0d81a84ed5a" id="r_ad12fa13f5c26f2373e37c0d81a84ed5a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="unionnvtx_message_value__t.html">nvtxMessageValue_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structnvtx_mem_heap_desc__v1.html#ad12fa13f5c26f2373e37c0d81a84ed5a">message</a></td></tr>
<tr class="memdesc:ad12fa13f5c26f2373e37c0d81a84ed5a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Message assigned to this attribute structure.<a class="anchor" id="MEM_MESSAGE_FIELD"></a>.  <br /></td></tr>
<tr class="separator:ad12fa13f5c26f2373e37c0d81a84ed5a"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>structure to describe a heap in process virtual memory. </p>

<p class="definition">Definition at line <a class="el" href="nv_tools_ext_mem_8h_source.html#l00216">216</a> of file <a class="el" href="nv_tools_ext_mem_8h_source.html">nvToolsExtMem.h</a>.</p>
</div><h2 class="groupheader">Field Documentation</h2>
<a id="a0fe52467a6fef48105632433cac12fa9" name="a0fe52467a6fef48105632433cac12fa9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0fe52467a6fef48105632433cac12fa9">&#9670;&#160;</a></span>category</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t nvtxMemHeapDesc_v1::category</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>ID of the category the event is assigned to. </p>
<p>A category is a user-controlled ID that can be used to group events. The tool may use category IDs to improve filtering or enable grouping of events in the same category. The functions <a class="el" href="group___r_e_s_o_u_r_c_e___n_a_m_i_n_g.html#ga801e84711db9de7b28235e529b101e4a">nvtxNameCategoryA</a> or ::nvtxNameCategoryW can be used to name a category.</p>
<p>Default Value is 0. </p>

<p class="definition">Definition at line <a class="el" href="nv_tools_ext_mem_8h_source.html#l00279">279</a> of file <a class="el" href="nv_tools_ext_mem_8h_source.html">nvToolsExtMem.h</a>.</p>

</div>
</div>
<a id="ab6067b2540a825ea56d28c99e18bfacd" name="ab6067b2540a825ea56d28c99e18bfacd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab6067b2540a825ea56d28c99e18bfacd">&#9670;&#160;</a></span>extCompatID</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint16_t nvtxMemHeapDesc_v1::extCompatID</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="nv_tools_ext_mem_8h_source.html#l00218">218</a> of file <a class="el" href="nv_tools_ext_mem_8h_source.html">nvToolsExtMem.h</a>.</p>

</div>
</div>
<a id="ad12fa13f5c26f2373e37c0d81a84ed5a" name="ad12fa13f5c26f2373e37c0d81a84ed5a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad12fa13f5c26f2373e37c0d81a84ed5a">&#9670;&#160;</a></span>message</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="unionnvtx_message_value__t.html">nvtxMessageValue_t</a> nvtxMemHeapDesc_v1::message</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Message assigned to this attribute structure.<a class="anchor" id="MEM_MESSAGE_FIELD"></a>. </p>
<p>The text message that is attached to an event. </p>

<p class="definition">Definition at line <a class="el" href="nv_tools_ext_mem_8h_source.html#l00294">294</a> of file <a class="el" href="nv_tools_ext_mem_8h_source.html">nvToolsExtMem.h</a>.</p>

</div>
</div>
<a id="ab6fc2c152e78099ddbf86746502b7f5c" name="ab6fc2c152e78099ddbf86746502b7f5c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab6fc2c152e78099ddbf86746502b7f5c">&#9670;&#160;</a></span>messageType</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t nvtxMemHeapDesc_v1::messageType</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Message type specified in this attribute structure. </p>
<p>Defines the message format of the attribute structure's <a class="el" href="structnvtx_mem_heap_desc__v1.html#MEM_MESSAGE_FIELD">message</a> field.</p>
<p>Default Value is <code>NVTX_MESSAGE_UNKNOWN</code>. </p>

<p class="definition">Definition at line <a class="el" href="nv_tools_ext_mem_8h_source.html#l00288">288</a> of file <a class="el" href="nv_tools_ext_mem_8h_source.html">nvToolsExtMem.h</a>.</p>

</div>
</div>
<a id="a1dbbb99cb449d709926b7a6a388c99f4" name="a1dbbb99cb449d709926b7a6a388c99f4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1dbbb99cb449d709926b7a6a388c99f4">&#9670;&#160;</a></span>reserved0</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t nvtxMemHeapDesc_v1::reserved0</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="nv_tools_ext_mem_8h_source.html#l00220">220</a> of file <a class="el" href="nv_tools_ext_mem_8h_source.html">nvToolsExtMem.h</a>.</p>

</div>
</div>
<a id="a717aaed2342fd530b6f2aa451daea59c" name="a717aaed2342fd530b6f2aa451daea59c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a717aaed2342fd530b6f2aa451daea59c">&#9670;&#160;</a></span>structSize</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint16_t nvtxMemHeapDesc_v1::structSize</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="nv_tools_ext_mem_8h_source.html#l00219">219</a> of file <a class="el" href="nv_tools_ext_mem_8h_source.html">nvToolsExtMem.h</a>.</p>

</div>
</div>
<a id="a000cf395f18b65e398b80cee8987b74c" name="a000cf395f18b65e398b80cee8987b74c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a000cf395f18b65e398b80cee8987b74c">&#9670;&#160;</a></span>type</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t nvtxMemHeapDesc_v1::type</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Memory type characteristics of the heap. </p>
<p>The 'type' indicates how to interpret the ptr field of the heapDesc. This is intended to support many additional types of memory, beyond standard process virtual memory, such as API specific memory only addressed by handles or multi-dimensional memory requiring more complex descriptions to handle features like strides, tiling, or interlace.</p>
<p>The values conforms to NVTX_MEM_TYPE_*</p>
<p>The value in the field 'type' identifies the descriptor type that will be in the field 'typeSpecificDesc'. 'typeSpecificDesc' is void* because it is extensible. Example usage is if type is NVTX_MEM_TYPE_VIRTUAL_ADDRESS, then typeSpecificDesc points to a nvtxMemVirtualRangeDesc_t.</p>
<p>Default Value is 0, which is invalid. </p>

<p class="definition">Definition at line <a class="el" href="nv_tools_ext_mem_8h_source.html#l00250">250</a> of file <a class="el" href="nv_tools_ext_mem_8h_source.html">nvToolsExtMem.h</a>.</p>

</div>
</div>
<a id="ac020e353d7840e5c7fe0c53965beb3ad" name="ac020e353d7840e5c7fe0c53965beb3ad"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac020e353d7840e5c7fe0c53965beb3ad">&#9670;&#160;</a></span>typeSpecificDesc</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void const* nvtxMemHeapDesc_v1::typeSpecificDesc</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Pointer to the heap memory descriptor. </p>
<p>The value in the field 'type' identifies the descriptor type that will be in the field 'typeSpecificDesc'. 'typeSpecificDesc' is void* because it is extensible. Example usage is if type is NVTX_MEM_TYPE_VIRTUAL_ADDRESS, then typeSpecificDesc points to a nvtxMemVirtualRangeDesc_t.</p>
<p>Default Value is 0, which is invalid. </p>

<p class="definition">Definition at line <a class="el" href="nv_tools_ext_mem_8h_source.html#l00267">267</a> of file <a class="el" href="nv_tools_ext_mem_8h_source.html">nvToolsExtMem.h</a>.</p>

</div>
</div>
<a id="aff660e4ce3a6c55069d6644f9754ac2e" name="aff660e4ce3a6c55069d6644f9754ac2e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aff660e4ce3a6c55069d6644f9754ac2e">&#9670;&#160;</a></span>typeSpecificDescSize</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t nvtxMemHeapDesc_v1::typeSpecificDescSize</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>size of the heap memory descriptor pointed to by typeSpecificDesc </p>
<p>Default Value is 0 which is invalid. </p>

<p class="definition">Definition at line <a class="el" href="nv_tools_ext_mem_8h_source.html#l00256">256</a> of file <a class="el" href="nv_tools_ext_mem_8h_source.html">nvToolsExtMem.h</a>.</p>

</div>
</div>
<a id="ace1b78eba0d1733c52f3783fd72b9474" name="ace1b78eba0d1733c52f3783fd72b9474"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ace1b78eba0d1733c52f3783fd72b9474">&#9670;&#160;</a></span>usage</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t nvtxMemHeapDesc_v1::usage</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Usage characteristics of the heap. </p>
<p>Usage characteristics help tools like memcheckers, sanitizers, as well as other debugging and profiling tools to determine some special behaviors they should apply to the heap and its regions. The value follows the convention NVTX_MEM_HEAP_USAGE_*</p>
<p>Default Value is 0, which is invalid. </p>

<p class="definition">Definition at line <a class="el" href="nv_tools_ext_mem_8h_source.html#l00231">231</a> of file <a class="el" href="nv_tools_ext_mem_8h_source.html">nvToolsExtMem.h</a>.</p>

</div>
</div>
<hr/>The documentation for this struct was generated from the following file:<ul>
<li><a class="el" href="nv_tools_ext_mem_8h_source.html">nvToolsExtMem.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8
</small></address>
</body>
</html>
